FX Grid Trading Bot AUDCAD · GBPCAD · NZDCAD Buy & Sell

ABS FX Grid

MetaTrader 5 Expert Advisor · v1.00

A fully automated grid trading bot for the three CAD crosses — AUDCAD, GBPCAD and NZDCAD — running all three pairs from a single chart. Every pair has its own independent Buy and Sell basket, with fundamental filters built around what moves these currencies: central-bank decisions and key economic news.

View Live Signal on MQL5  →
Pairs3 CAD crosses
BasketsBuy & Sell per pair
ManagementFully automatic
PlatformMT5 · Hedging
Warning

Grid trading carries a high risk of loss. Past performance does not guarantee future results. Always test on a demo account before going live.

Provided to registered buyers of ABS FX Grid for personal reference. Not for redistribution or public posting.

01

Trading Logic

ABS FX Grid is a grid trading bot for the CAD crosses. From one chart it trades:

  • AUDCAD, GBPCAD and NZDCAD — each can be switched on or off
  • Buy and Sell — every pair runs its own Buy basket and its own Sell basket, independent of the others
  • A grid of positions per basket rather than a single trade, closed together at a basket Take Profit
  • A lot size that scales with your balance, with optional minimum and maximum lot limits

How a Basket Works

STEP 1Entry signalThe EA's built-in entry signal starts a new Buy or Sell basket when its conditions are met.
STEP 2Grid addsIf price moves against the basket, the EA adds trades at its grid levels.
STEP 3PruningInside a deeper basket, losing and winning trades are closed together whenever that locks in a net gain.
STEP 4Basket TPThe whole basket closes together at its Take Profit.
  • All management — Take Profit, grid adds, pruning — runs automatically. There is no broker-side TP: the EA closes the basket itself.
  • A new basket only opens on a side that has no open basket for that pair. Up to six baskets can exist (3 pairs × Buy and Sell), limited by the same-CAD-direction cap.
  • New trades are filtered (spread, volatility, news, rate expectation). Closing is never filtered: basket TP, pruning and the drawdown stop always run.
Why three CAD pairs?

All three pairs share CAD as the quote currency. That gives the bot three different base currencies (AUD, GBP, NZD) to trade against one common currency — and it is also why the EA watches how many baskets point the same way on CAD (see 04).

ABS FX Grid backtest: balance line rising steadily with short equity dips where baskets work through drawdown
An illustrative backtest: the balance (blue) grows while the equity (green) dips each time a basket works through a move against it. Backtest results are simulated, actual results vary and are not guaranteed.

02

Minimum Requirements

PropertyValue
SymbolsAUDCAD, GBPCAD, NZDCAD
DirectionBuy & Sell
ChartAny one chart, any timeframe
PlatformMetaTrader 5
Account modeHedging
Account typeECN / RAW
Min leverage1:100
Recommended capital$2,000+

The $2,000+ recommendation follows the default lot sizing of 0.01 lot per $2,000 of balance (see 04). Below that, the entry lot stays at the 0.01 minimum, so the risk is larger relative to the account. With three pairs and two sides, several baskets can be open at the same time — keep enough free margin for that.

Hedging account required

The grid holds several positions on the same pair, and a pair can hold a Buy and a Sell basket at once. On a netting account those positions would merge into one, and the grid logic cannot work as designed.


03

Installation & Initial Setup

  1. Make sure AUDCAD, GBPCAD and NZDCAD are available at your broker (show them in Market Watch).
  2. Open one chart — for example AUDCAD — and drag ABS FX Grid from the Navigator onto it. The EA trades all enabled pairs from this single chart.
  3. In the Inputs tab, configure parameters according to this guide (the defaults are a sensible start).
  4. Enable Algo Trading — the button in the MetaTrader toolbar must be active — and allow algo trading in the EA's Common tab.
  5. Check the Experts tab: on start the EA prints any symbol mapping (e.g. Symbol AUDCAD -> AUDCAD.raw) and, if a news or rate filter is on, the calendar download.
Attach it to one chart only

Do not attach ABS FX Grid to three charts with the same Magic Number — each copy would trade all three pairs. To run a second, separate copy on the same account, give it a different Magic Number.

Broker symbol names

If your broker adds a prefix or suffix (AUDCAD.m, m.AUDCAD), leave the prefix/suffix inputs empty: the EA detects them from the chart symbol. Only set them by hand if detection fails — the Experts tab tells you which symbol it could not find.


04

General & Lot Settings

1. General Setting

ParameterDefaultDescription
Magic number1001Identifies this EA's trades. Use a different number for each separate copy on the same account.
CommentABS FX GridLabel attached to every order, visible in the trade history.
Max Spread30No new trades (entries or grid adds) while the pair's spread is above this many points. Closing is not affected.
Trade AUDCAD / GBPCAD / NZDCADtrueSwitch each pair on or off. At least one must be on.
Broker symbol prefix / suffixemptyEmpty = detect from the chart symbol. Set only if your broker's names are not found.
Max baskets in the same CAD direction2Caps how many baskets may hold CAD the same way at once (1–3). New first entries only — grid adds are never blocked.

The same-CAD-direction cap

A Buy on AUDCAD, GBPCAD or NZDCAD sells CAD; a Sell buys CAD. Three Buy baskets are effectively one CAD short three times over — and a strong CAD move hits all of them at once. The cap limits how many baskets may point the same way:

  • 1 — at most one CAD-short and one CAD-long basket at a time (the most conservative)
  • 2 — the default
  • 3 — no limit with three pairs

Baskets on opposite sides do not count against each other (a Buy AUDCAD with a Sell GBPCAD largely cancels the CAD part). When the cap is full, the panel shows CAD LIMIT 2/2 on the blocked side.

2. Lots size Progression

ParameterDefaultDescription
Account balance per 0.01 lot2000Sizes the first trade of each basket: 0.01 lot per this much balance. Example: $6,000 balance → 0.03 lot.
Min lot size per order0.01No order is smaller than this. 0 = the broker's minimum.
Max lot size per order0No order is larger than this — including grid adds after several lot step-ups. 0 = no limit.

Grid adds follow a built-in lot progression, so lots can grow as a basket gets deeper. All lots are rounded to your broker's lot step.

Note

The Max lot input is the simplest way to cap how large a deep basket can grow. It limits every single order, so a long grid keeps adding at that size instead of growing further.


05

Grid, Take Profit & Drawdown

A basket on the chart

The entry signal, grid spacing, lot progression, Take Profit and pruning rules are built into the EA and are not inputs. Your controls are the lot size, the lot limits, the filters and the drawdown stop.

Buy basket example on the chart, closed together at its Take Profit
Buy basket — opened, extended by the grid, and closed together at its Take Profit.
Sell basket example on the chart, closed together at its Take Profit
Sell basket — the same on the Sell side.

3. Max Drawdown (emergency close-all)

ParameterDefaultDescription
DD measured inPercent of balancePercent, Money or Turn OFF.
Max DD % (of balance)80.0Percent mode: closes all ABS FX Grid trades on every pair when their combined floating loss reaches this % of the balance.
Max DD $ (deposit currency)500.0Money mode: the same, at a fixed loss amount.
No per-trade stop loss

Grid trades have no individual stop loss. Losses are limited by the basket Take Profit and pruning working through pullbacks, by the lot limits, and in the last resort by the Max Drawdown close-all. Keep the drawdown stop active and set it to an amount you accept losing.

The real risk: a strong one-way move

A grid profits from pullbacks. Its weak point is a strong trend that runs without a meaningful pullback: the basket keeps adding, the lots step up, and the floating loss grows faster than pruning and the basket TP can work it off. On the CAD crosses that typically happens around a surprise from the Bank of Canada, the RBA, the BoE or the RBNZ — which is exactly what the news filter and the rate expectation filter are built for.


06

News Filter

Pauses new trades — first entries and grid adds — around high-impact releases for either currency of a pair. Basket TP, pruning and the drawdown stop keep running during a pause.

ParameterDefaultDescription
News Calendar history from2015.01.01How far back the calendar is downloaded on a live chart (used for backtests).
Pause on central-bank rate decisionsfalseRBA, BoC, BoE, RBNZ interest-rate decisions.
Pause on CPI releasesfalseAll CPI variants (headline, core, trimmed mean, CPIH …).
Pause on jobs datafalseEmployment change, unemployment rate, claimant count.
Pause minutes before the event720Start of the pause before the release time.
Pause minutes after the event60End of the pause after the release time.
Pause the whole first Friday (US NFP)falseOptional: no new trades on the first Friday of each month.
  • Per pair: a pair pauses when either of its currencies has an event. A CAD event pauses all three pairs; an AUD event pauses only AUDCAD.
  • Any terminal language: events are picked by the calendar's event code (for example boc-interest-rate-decision, cpi-yy), not by their translated names.
  • Live: the EA reads the MQL5 economic calendar itself and refreshes it every 6 hours.
  • The Experts tab prints one line per pause, e.g. News pause AUDCAD: CAD CPI … - no new trades, and the panel shows NEWS CAD CPI.
  • With the Info Panel on, each release of the enabled news types is marked on the chart's time axis for the chart pair's two currencies (orange-red = rate decision, gold = CPI, blue = jobs). Hover a marker for the time, event code and pause window.
Note

Calendar times are broker-server times. For older history, the calendar may convert summer/winter time with today's offset, so backtest events can be about one hour off. A pause window of 60 minutes or more covers that.


07

Rate Expectation Filter

A fundamental filter that only lets new baskets open in the direction the next central-bank decisions are expected to point. It reads each currency's published economic data from the MQL5 economic calendar, forms a rate outlook for both currencies of a pair, and blocks new baskets that would trade against it.

  • It works per pair — AUDCAD, GBPCAD and NZDCAD can each lean a different way.
  • It only affects new first entries. Grid adds inside an open basket are never blocked by it, so a basket can always keep working toward its Take Profit.
  • When the outlook gives no edge either way, the pair is neutral and may trade both sides (or pause — see the second input).
ParameterDefaultDescription
ModeOffOff, or Block entries against the bias (a neutral pair may open both sides).
Pause new entries when both banks are in the same phase at the same ratetrueWhen the outlook for both currencies is the same, no new baskets open on that pair until it changes.

When a signal is skipped, the panel shows AGAINST RATE BIAS or EQUAL RATES pause, and the Rate expectation column shows the current outlook of each pair.

Note

The filter is a rule-based reading of published data, not a forecast. Use it as a direction filter and judge it in backtests by drawdown, not only by profit. In the Strategy Tester it needs the saved news file — see 09.


08

How to Trade a Grid Bot

A grid bot builds its position over time instead of risking everything on one trade. That changes how you should size and manage the account:

  1. Allocate a portion of your capital, not all of it. Run ABS FX Grid on an amount you are comfortable seeing in drawdown.
  2. Withdraw profits at a defined interval. Set a target — for example +20% — and withdraw when it is reached, instead of leaving all profit exposed to the next drawdown cycle. You can test this cycle with the Backtest Simulation settings.
  3. Keep the Max Drawdown stop active. It is the hard limit that closes everything if conditions turn against the grid.
  4. Watch your CAD exposure. The same-CAD-direction cap and the news filter around Bank of Canada decisions matter most, because CAD sits in every pair.
  5. Review before re-depositing. If the drawdown stop ever fires, review what happened before restarting at the same size.
Live signal

ABS FX Grid runs on a public MQL5 signal: mql5.com/en/signals/2396974. Judge it by deposits, withdrawals and the balance still at risk — not by the growth percentage alone. Signal results are historical and do not guarantee future performance.

The ABS FX Grid public signal page on MQL5 with its growth chart, equity, profit, deposits and withdrawals
The public ABS FX Grid signal on MQL5 (snapshot). Open the live page for current figures — the values in this picture are a past moment and will have changed.

09

Backtesting

7. Backtest Simulation

Simulates the profit-withdrawal cycle from 08. These settings only work in the Strategy Tester and have no effect on live trading.

ParameterDefaultDescription
Enable auto withdrawalfalseTurns the withdrawal simulation on.
Withdraw at % profit20When the balance is this % above the starting deposit, the profit is withdrawn and the balance returns to the starting deposit.

Testing with the news or rate filter on

The economic calendar is not available inside the Strategy Tester, so the EA uses a saved copy:

  1. Attach ABS FX Grid once to a live or demo chart with a news or rate filter switched on. It downloads the calendar and saves ABSFX_News.csv to MQL5\Files and to the shared Common\Files folder.
  2. Run the backtest. The Journal shows News filter: … events loaded from ….
  • If the file is missing, the EA stops with a clear message instead of testing without its filters.
  • Backtests on your own computer's agents read the file from Common\Files. The MQL5 Cloud Network cannot access it — run optimizations with the news or rate filter on locally.
  • With all news and rate filters off, no file is needed at all.
Tip

Use “Every tick based on real ticks” or “1 minute OHLC” for results closest to live trading.


10

Info Panel

A live panel on the chart shows the account state and every basket of every pair. It is a single object: click it and drag it anywhere — the position is remembered for that chart.

ABS FX Grid info panel: account line and a BUY and SELL row for AUDCAD, GBPCAD and NZDCAD
The info panel with all three pairs waiting for an entry signal, the next CAD rate decision in Next news, and each pair's rate expectation.
ParameterDefaultDescription
PanelNormalDisable panel, Small, Normal or Large. The news markers on the chart are shown together with the panel.

Account line

Balance, equity and the bot's floating P/L · drawdown vs the Max Drawdown limit (amber from 40% of the limit, red from 75%) · the current entry lot with the min/max lot limits · CAD baskets short / long vs the cap · an NFP-day note when that pause is active.

Pair rows — one BUY and one SELL row per pair

ColumnShows
Pair / Side / SpreadThe broker symbol, BUY or SELL, and the current spread (amber above Max Spread).
Trades / Lots / FloatNumber of trades in the basket, total lots and floating P/L.
Breakeven / Basket TP / To TPThe basket's breakeven price, its Take Profit price and the points still to go.
Next grid / Next lotPrice of the next grid add and its lot. ^ = the next add uses a larger lot.
PF pruneProgress of profit-factor pruning: the current net result vs its target.
StatusWhat the side is doing or why it waits — see below.
Next newsThe next enabled event for either currency, e.g. CAD RATE 10.28 16:45 (amber once its pause starts).
Rate expectationThe pair's current rate outlook and the side it favours (BUY, SELL or NEUTRAL).

With the rate filter on, one extra line per currency shows its current outlook and policy rate.

Status values

StatusMeaning
Wait Entry SignalNo basket; waiting for the entry signal.
BUY next M1 SELL next M1Signal present and all filters pass — the basket opens on the next bar.
IN GRID nBasket open with n trades, waiting for TP or the next grid level.
ADD next M1Price is past the next grid level — a trade is added on the next bar.
ADD paused …An add is due, but a filter blocks new trades (the reason follows).
PRUNE readyThe pruning target is reached — the paired trades close.
TP at M1 closePrice is past the basket Take Profit — the basket closes on the next bar.
SPREAD high High volatilitySpread above the max, or the market is too volatile for new trades.
NEWS CAD RATE NFP blockA news pause or the first-Friday pause is active.
CAD LIMIT 2/2The same-CAD-direction cap is full.
AGAINST RATE BIAS EQUAL RATES pauseA signal was skipped by the rate expectation filter.
NO DATAIndicator history is not ready yet.

11

Quick Start Checklist

  1. Open a hedging demo account at an ECN or RAW broker
  2. Set leverage to at least 1:100
  3. Fund the demo with $2,000 or more
  4. Show AUDCAD, GBPCAD and NZDCAD in Market Watch
  5. Attach ABS FX Grid to one chart (e.g. AUDCAD)
  6. Keep the defaults, or adjust per this guide — at least review Max lot and the Max Drawdown stop
  7. Optional: switch on the news filter (rate decisions first) and the rate expectation filter
  8. Enable Algo Trading and check the Experts tab for start-up messages
  9. Monitor the demo for at least 2–4 weeks
  10. Move to live only once you are comfortable with how the EA behaves on your broker
Note

Demo results can differ from live trading because of execution speed and broker conditions. Trading carries risk of loss, and no step in this checklist guarantees a profit — see 13 — Risk Disclaimer.


12

Frequently Asked Questions

Do I need three charts, one per pair?

No. Attach ABS FX Grid to one chart; it trades every enabled pair from there.

Which timeframe should the chart be?

Any. The EA uses its own internal timeframes, whatever the chart shows.

Can it trade only one or two of the pairs?

Yes. Switch the others off with the Trade AUDCAD / GBPCAD / NZDCAD inputs.

Does it use a stop loss?

There is no per-trade stop loss. Baskets close at their Take Profit or through pruning; the Max Drawdown stop closes everything at your chosen loss limit, and the Max lot input caps how large orders can get.

My broker uses names like AUDCAD.raw — does it work?

Yes. Prefixes and suffixes are detected from the chart symbol automatically; you can also set them in the inputs.

Can it run on the MQL5 VPS?

Yes — migrate the chart with the EA as usual. With a news or rate filter on, the EA downloads the calendar on the VPS itself. After migrating, check the VPS journal for the News filter: MQL5 calendar line. If it shows News filter: no news data instead (the calendar was not ready when the EA started), migrate again a few minutes later.

My backtest stops with “News filter: no news data”.

A news or rate filter is on, but ABSFX_News.csv has not been created yet. Attach the EA once to a live or demo chart, then run the backtest again — or switch those filters off for the test (see 09).

The EA is attached but not opening trades — what should I check?
  • Algo Trading is enabled in the toolbar and in the EA's settings
  • The account is a hedging account with enough free margin
  • The panel's Status column — it names the reason: spread, volatility, news pause, CAD limit, rate bias, or simply waiting for an entry signal
  • At least one pair is enabled and its symbol was found (Experts tab)

13

Risk Disclaimer

Warning

Trading foreign exchange and other leveraged financial instruments involves substantial risk of loss and is not suitable for all investors. Leverage can amplify both gains and losses. Grid strategies can accumulate large floating losses during strong, one-directional moves.

Past performance of ABS FX Grid, including its public MQL5 signal, does not guarantee future results. No automated strategy can ensure profitability under all market conditions, and no profit is promised or implied.

Always test on a demo account before trading with real money. Never trade with capital you cannot afford to lose. ABS FX Grid is a trading tool, not financial advice. You are solely responsible for your own trading decisions, position sizing and risk management.

This manual is provided independently by the seller for the personal reference of registered buyers only. Neither the seller nor MetaQuotes/MQL5 accepts liability for any direct or consequential loss, or loss of profit, arising from use of this product or the information in this manual.